package com.fowo.api.model.supplier.task.instance;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 供应商产品开发实施 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class SupplierTaskInstanceImportPo {

  /** 开发编号 */
  @ExcelProperty("*开发编号")
  @NotBlank(message = "开发编号不能为空")
  private String taskIdTaskId;

  @ExcelIgnore
  @Schema(title = "*开发编号")
  private String taskId;

  /** 任务编号 */
  @ExcelProperty("*任务编号")
  @NotBlank(message = "任务编号不能为空")
  private String instanceId;

  /** 产品 */
  @ExcelProperty("产品")
  @Size(max = 500, message = "产品长度不能超过500")
  private String productIdName;

  @ExcelIgnore
  @Schema(title = "产品")
  private String productId;

  /** 开发时间 */
  @ExcelProperty("*开发时间")
  @NotBlank(message = "开发时间不能为空")
  @DateTimeString(message = "开发时间不是有效的时间日期格式")
  private String doTime;

  /** 截止时间 */
  @ExcelProperty("截止时间")
  @DateTimeString(message = "截止时间不是有效的时间日期格式")
  private String endTime;

  /** 执行人员 */
  @ExcelProperty("*执行人员")
  @NotBlank(message = "执行人员不能为空")
  @Size(max = 50, message = "执行人员长度不能超过50")
  private String doUserName;

  @ExcelIgnore
  @Schema(title = "*执行人员")
  private String doUser;

  /** 企业代码 */
  @ExcelProperty("企业代码")
  @Size(max = 50, message = "企业代码长度不能超过50")
  private String supplierCode;

  /** 企业简称 */
  @ExcelProperty("企业简称")
  @Size(max = 50, message = "企业简称长度不能超过50")
  private String supplierName;

  /** 企业名称 */
  @ExcelProperty("企业名称")
  @Size(max = 50, message = "企业名称长度不能超过50")
  private String supplierFullName;

  /** 供应商分类 */
  @ExcelProperty("*供应商分类")
  @NotBlank(message = "供应商分类不能为空")
  private String type;

  /** 未完成原因 */
  @ExcelProperty("未完成原因")
  @Size(max = 500, message = "未完成原因长度不能超过500")
  private String undoneReason;

  /** 社会信用代码 */
  @ExcelProperty("社会信用代码")
  @Size(max = 50, message = "社会信用代码长度不能超过50")
  private String creditCode;

  /** 规模 */
  @ExcelProperty("规模")
  @Size(max = 50, message = "规模长度不能超过50")
  private String scale;

  /** 联系人 */
  @ExcelProperty("联系人")
  @Size(max = 50, message = "联系人长度不能超过50")
  private String contacts;

  /** 联系人手机号 */
  @ExcelProperty("联系人手机号")
  @Size(max = 50, message = "联系人手机号长度不能超过50")
  private String contactsPhone;

  /** QQ/微信 */
  @ExcelProperty("QQ/微信")
  @Size(max = 50, message = "QQ/微信长度不能超过50")
  private String qqWx;

  /** 邮箱 */
  @ExcelProperty("邮箱")
  @Size(max = 50, message = "邮箱长度不能超过50")
  private String email;

  /** 网址 */
  @ExcelProperty("网址")
  @Size(max = 50, message = "网址长度不能超过50")
  private String webAddress;

  /** 省 */
  @ExcelProperty("省")
  @Size(max = 50, message = "省长度不能超过50")
  private String province;

  /** 市 */
  @ExcelProperty("市")
  @Size(max = 50, message = "市长度不能超过50")
  private String city;

  /** 地区 */
  @ExcelProperty("地区")
  @Size(max = 50, message = "地区长度不能超过50")
  private String region;

  /** 状态 */
  @ExcelProperty("*状态")
  @NotBlank(message = "状态不能为空")
  private String status;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 200, message = "备注长度不能超过200")
  private String remark;

  /** 流程编码 */
  @ExcelProperty("*流程编码")
  @NotBlank(message = "流程编码不能为空")
  private String enCode;

  /** 转交人 */
  @ExcelProperty("转交人")
  @Size(max = 50, message = "转交人长度不能超过50")
  private String forwardUserName;

  @ExcelIgnore
  @Schema(title = "转交人")
  private String forwardUser;

  /** 综合评分 */
  @ExcelProperty("综合评分")
  @DecimalString(message = "综合评分小数格式不正确", label = "综合评分")
  private String systemReviewScoring;
}
